package com.moli.lumpSugar.user.service;


import com.moli.lumpSugar.common.domain.vo.request.CursorPageBaseReq;
import com.moli.lumpSugar.common.domain.vo.request.PageBaseReq;
import com.moli.lumpSugar.common.domain.vo.response.CursorPageBaseResp;
import com.moli.lumpSugar.common.domain.vo.response.PageBaseResp;
import com.moli.lumpSugar.user.domain.vo.req.friend.FriendApplyReq;
import com.moli.lumpSugar.user.domain.vo.req.friend.FriendApproveReq;
import com.moli.lumpSugar.user.domain.vo.req.friend.FriendCheckReq;
import com.moli.lumpSugar.user.domain.vo.resp.FriendApplyResp;
import com.moli.lumpSugar.user.domain.vo.resp.FriendCheckResp;
import com.moli.lumpSugar.user.domain.vo.resp.FriendResp;
import com.moli.lumpSugar.user.domain.vo.resp.FriendUnreadResp;

/**
 * @program: LumpSugarChat
 * @description:
 * @author: zhangjt
 * @create: 2024-10-30 09:05
 **/
public interface FriendService {
    /*
    * 联系人列表
    * */
    CursorPageBaseResp<FriendResp> friendList(Long uid, CursorPageBaseReq request);

    void apply(Long uid, FriendApplyReq request);

    FriendCheckResp check(Long uid, FriendCheckReq request);

    void applyApprove(Long uid, FriendApproveReq request);

    FriendUnreadResp unread(Long uid);

    void deleteFriend(Long uid, Long targetUid);

    PageBaseResp<FriendApplyResp> pageApplyFriend(Long uid, PageBaseReq request);
}
